1. Field of the Invention
The present invention relates generally to media playback. More particularly, the present invention relates to media playback with dynamic content insertion.
2. Background Art
Hypertext Transfer Protocol (HTTP) based streaming platforms allow content producers to continue harnessing standard web delivery technologies for streamlined implementation using existing infrastructure, avoiding the need to develop and implement new data streaming protocols. As a result, HTTP based streaming platforms are seeing widespread adoption, with player applications built for a wide range of operating systems and devices. By utilizing applications based on HTTP streaming, users can enjoy live or recorded video content streamed conveniently and easily to their favorite media consumption devices, whether it be a laptop or desktop computer, a mobile phone, a video game console, a digital video recorder, a set top box, or another network enabled media device.
In particular, Apple based platforms such as Mac OSX, iPhone OS and iPad OS have recently enabled adaptive bitrate HTTP video streaming to occur seamlessly by accessing, from a web host, a specially formatted index file in the Extended M3U (US-ASCII) or M3U8 (UTF-8) playlist format, which includes links to a plurality of M3U or M3U8 playlists having the same video content encoded in various bitrate profiles. See, for example, “HTTP Live Streaming Internet-Draft Version 2” submitted by Apple, available from http://tools.ietf.org/html/draft-pantos-http-live-streaming-02, which is hereby incorporated in its entirety. In this manner, streaming of recorded or live video content may dynamically adjust to prevailing network conditions, providing the best possible video and audio quality for an optimal user experience.
Unfortunately, since the playlist file must exist as a static file retrieved from a web host, it is difficult to provide dynamic content where the contents of the playlist may change. Moreover, the playlist file must be strictly sequential and provides no mechanisms for conditional logic. This lack of flexibility makes it difficult to provide, for example, dynamically changing advertising content, which is desired to meet the demands of advertisers and content producers. For example, advertisers may want to use demographic information and user profile information to provide targeted advertising customized for each viewer, which is not possible if media retrieval is only by a conventional static and sequential playlist.
Accordingly, there is a need to overcome the drawbacks and deficiencies in the art by providing user-friendly adaptive video streaming that can accommodate dynamic insertion of content such as advertising.